package com.hkbigdata.sybx.controller;

import com.hkbigdata.sybx.service.HeartRateService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

/**
 * @author yangjing
 * @creat 2025-05-28-11:45
 * @email 3010335359@qq.com
 *
 * 获取老人健康值单个数据，放在可视化大屏上展现
 */
@RestController
@RequestMapping("/api/elderHealthData")
public class HeartRateController {
    @Autowired
    private HeartRateService heartRateService;

    // 初始化日志对象
    private static final Logger logger = LoggerFactory.getLogger(HeartRateController.class);

    // 获取指定 user_id 老人健康值中心率的数据信息接口
    @GetMapping("/heartRate")
    public List<Map<String, Object>> getHeartRateByUserId(@RequestParam String  userId) {
        // 打印接收到的userId
        logger.info("接收到获取心率数据的请求，userId: {}", userId);

        // 打印请求参数（可根据需要扩展）
        logger.debug("请求参数详情: userId = {}", userId);

        // 调用服务层方法
        List<Map<String, Object>> heartRateData = heartRateService.getHeartRateByUserId(userId);

        // 打印返回结果（根据数据量选择打印方式，避免日志过多）
        if (heartRateData != null && !heartRateData.isEmpty()) {
            logger.info("成功获取心率数据，数据量: {} 条", heartRateData.size());
            // 打印前几条数据示例
            if (heartRateData.size() <= 5) {
                logger.debug("心率数据详情: {}", heartRateData);
            } else {
                logger.debug("心率数据前5条示例: {}", heartRateData.subList(0, 5));
            }
        } else {
            logger.warn("获取心率数据为空，userId: {}", userId);
        }

        return heartRateData;
    }

//    获取指定 user_id 老人健康值中血糖的数据信息接口

}